1. Field of the Invention
This invention relates to the field of computer settings and computer networks, and, more specifically, to the modification of a network computer""s settings.
Portions of the disclosure of this patent document contain material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office file or records, but otherwise reserves all copyright rights whatsoever. Sun, Sun Microsystems, the Sun logo, Java, and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. All SPARC trademarks are used under license and are trademarks of SPARC International, Inc. in the United States and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc.
2. Background Art
In a computer network environment, a software application or a user at a computer terminal may desire computer settings (such as the audio volume control, the mouse pointer speed, or display resolution) to be configured in a specific manner. Further, a user may desire to change the computer terminal that the user is working at (e.g., to display something on a coworker""s terminal) and still retain the previous settings at the new terminal. An application (that may be running on a xe2x80x9cserverxe2x80x9d that executes applications remotely) may utilize the user""s settings (e.g., to play a compact disk or a display a sequence of colors). To accommodate a change in terminals and for applications to modify settings, applications that access the settings need to be informed when a setting changes. Additionally, some settings may be related to each other and changes to related settings should be made simultaneously (e.g., the red component of a display, the blue component of a display, and the green component of a display (RGB values)). Prior art mechanisms do not provide the ability to modify settings across a network. Additionally, prior art mechanisms do not provide a method to inform relevant applications of any changes, or to simultaneously modify related settings.
To provide a better understanding of the invention, a description of networks is useful.
Networks
In modern computing environments, it is commonplace to employ multiple computers or workstations linked together in a network to communicate between, and share data with, network users (also referred to as xe2x80x9cclientsxe2x80x9d). A network also may include resources, such as printers, modems, file servers, etc., and may also include services, such as electronic mail.
A network can be a small system that is physically connected by cables (a local area network or xe2x80x9cLANxe2x80x9d), or several separate networks can be connected together to form a larger network (a wide area network or xe2x80x9cWANxe2x80x9d). Other types of networks include the internet, telecommunication networks, the World Wide Web, intranets, extranets, wireless networks, and other networks over which electronic, digital, and/or analog data may be communicated.
Computer systems sometimes rely on a server computer system (referred to as a xe2x80x9cserverxe2x80x9d) to provide information to requesting computers on a network. When there are a large number of requesting computers, it may be necessary to have more than one server computer system to handle the requests.
A distributed settings control protocol. One or more embodiments of the invention provide for human interface devices (HIDs) or terminals connected to one or more server computers. The HIDs are configured to display data, and to send keyboard, cursor, audio, and video data through the network to the processing server. Functionality is partitioned so that databases, servers and graphical user interface functions are provided by the servers. One or more embodiments of the invention provide the ability for an application running on a server across a network or a HID itself to modify various settings related to the HIDs such as display resolution, audio output configuration (such as volume control or headphones v. speaker), and energy saver procedures.
One or more embodiments provide the ability to permit applications and third parties to configure settings over a network. In accordance with one or more embodiments, several protocol properties are adhered to. For example, one or more embodiments may include but are not limited to the following properties: (1) a HID maintains knowledge regarding which applications are currently viewing or accessing the HID; (2) applications/programs and servers know the state of HID settings (referred to as idempotence and consistency); (3) to modify a setting, a server provides the correct current setting to the HID prior to the HID completing a change (referred to as locking compliance); (4) the settings are mobile from one HID to another; (5) the types of settings on each HID are independent of other HIDs to provide for differences between HID models and hardware (referred to as model independence); and (6) a user, a third party agent, a manufacturer, or other entity is permitted to set any desired policy related to the settings (referred to as policy free).
By adhering to the above properties, the protocol of one or more embodiments ensures that settings are maintained accurately and consistently across a network while permitting multiple entities to modify and configure the settings.